define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {

    var Controller = {
        index: function () {
            // 初始化表格参数配置
            Table.api.init({
                extend: {
                    index_url: 'user/pt/index',
                    add_url: 'user/user/add',
                    edit_url: 'user/pt/edit',
                    del_url: 'user/pt/del',
                    multi_url: 'user/pt/multi',
                    table: 'user',
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'id',
                sortName: 'user.id',
                columns: [
                    [
                        {checkbox: true},
                        {field: 'id', title: __('Id'), sortable: true},
                        {field: 'username', title: __('平台名称'), operate: 'LIKE'},
                        {field: 'operate', title: __('Operate'), table: table,
                            events: Table.api.events.operate,
                            buttons: [
                                {
                                    name: 'addgoldcoin',
                                    title: __('弹出窗口打开'),
                                    classname: 'btn btn-xs btn-primary btn-dialog',
                                    icon: 'fa fa-list',
                                    url: 'user/pt/details'
                                }
                            ],
                            formatter: Table.api.formatter.operate,

                        }
                    ]
                ]
            });

            // 为表格绑定事件
            Table.api.bindevent(table);
        },
        add: function () {
            Controller.api.bindevent();
        },
        edit: function () {
            Controller.api.bindevent();
        },
        // hz: function () {
            // 初始化表格参数配置
            // /
            // var table1 = $("#table1");
            //
            // // 初始化表格
            // table1.bootstrapTable({
            //     url: $.fn.bootstrapTable.defaults.extend.index_url,
            //     pk: 'id',
            //     sortName: 'user.id',
            //     columns: [
            //         [
            //             {checkbox: true},
            //             {field: 'id', title: __('Id'), sortable: true},
            //             {field: 'username', title: __('平台名称'), operate: 'LIKE'},
            //             {field: 'operate', title: __('Operate'), table: table,
            //                 events: Table.api.events.operate,
            //                 buttons: [
            //                     {
            //                         name: 'addgoldcoin',
            //                         title: __('弹出窗口打开'),
            //                         classname: 'btn btn-xs btn-primary btn-dialog',
            //                         icon: 'fa fa-list',
            //                         url: 'user/pt/details'
            //                     }
            //                 ],
            //                 formatter: Table.api.formatter.operate,
            //
            //             }
            //         ]
            //     ]
            // });
            //
            // // 为表格绑定事件
            // Table.api.bindevent(table1);

        // },
        hz: function () {
            // 初始化表格参数配置
            Table.api.init({
                showFooter: true
            });

            //绑定事件
            $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
                var panel = $($(this).attr("href"));
                if (panel.size() > 0) {
                    Controller.table[panel.attr("id")].call(this);
                    $(this).on('click', function (e) {
                        $($(this).attr("href")).find(".btn-refresh").trigger("click");
                    });
                }
                //移除绑定的事件
                $(this).unbind('shown.bs.tab');
            });

            //必须默认触发shown.bs.tab事件
            $('ul.nav-tabs li.active a[data-toggle="tab"]').trigger("shown.bs.tab");
        },
        table: {
            first: function () {
                // 平台注册量统计
                var table1 = $("#table1");
                table1.bootstrapTable({
                    url: 'user/pt/hz',
                    toolbar: '#toolbar1',
                    search: false,
                    columns: [
                        [
                            {field: 'Number', title: '编号',
                                operate: false,
                                formatter: function (value, row, index) {
                                    return index+1;
                                }
                            },
                            {field: 'day', title: '日期',formatter: Table.api.formatter.datetime, operate: 'RANGE', type: 'datetime',addclass: 'datetimerange',data: 'data-date-format="YYYY-MM-DD"'},
                            {field: 'platform', title: '平台',operate: false},
                            {field: 'total', title: '注册量',operate: false,
                                footerFormatter: function (value,row, index) {
                                    var count = 0;
                                    for (var i in value) {
                                        count += parseFloat(value[i].total);
                                    }
                                    return "合计:"+count;
                                }
                            },
                        ]
                    ]
                });

                // 为表格1绑定事件
                Table.api.bindevent(table1);
            },
            second: function () {
                // 申请统计
                var table2 = $("#table2");
                table2.bootstrapTable({
                    url: 'user/pt/statistics',
                    extend: {
                        index_url: 'user/pt/statistics',
                        add_url: '',
                        edit_url: '',
                        del_url: '',
                        multi_url: '',
                        table: '',
                    },
                    showFooter: true,
                    toolbar: '#toolbar2',
                    sortName: 'id',
                    sortName: 'update_time',
                    search: false,
                    columns: [
                        [
                            {field: 'update_time', title: '更新时间', formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                            {field: 'create_time', title: __('Create time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                            {field: 'qq', title: 'QQ'},
                            {field: 'weixin', title: '微信'},
                            {field: 'tel', title: '号码'},
                            {field: 'ip', title: 'IP'},
                            {field: 'platform', title: '来源平台',formatter:Table.api.formatter.search},
                            {field: 'zhimafen', title: '芝麻分'},
                            {field: 'username', title: '姓名'},
                            {field: 'is_reg', title: '注册次数'},
                            {field: 'age', title: '年龄'},
                            {field: 'bignumber', title: '已卖的次数',sortable: true},
                            {field: 'neednumber', title: '需要出售次数',sortable: true},


                        ]
                    ]
                });

                // 为表格2绑定事件
                Table.api.bindevent(table2);
            }
        },

        api: {
            bindevent: function () {
                Form.api.bindevent($("form[role=form]"));
            },
            formatter: {
                gametype: function (value, row, index) {
                    //这里手动构造URL
                    url = "report/report/agent?showtype" + "=" + value;
                    //方式一,直接返回class带有addtabsit的链接,这可以方便自定义显示内容
                    return '<a href="' + url + '" class="label label-success addtabsit" title="' + __("Search %s", value) + '">' + __('Search %s', value) + '</a>';
                }
            }
        }
    };
    return Controller;
});